package com.dwxt.cdms.util;

import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.util.Date;

/**
 * 时间处理工具类
 *
 * @author Kuang.JiaZhuo
 * @date 2020-09-08 14:40
 */
public class DateUtil {

    /**
     * @方法名：timeStamp2DateTime
     * @描述： 时间戳转换为LocalDateTime
     * @作者： kjz
     * @日期： Created in 2020/9/8 14:42
     */
    public static LocalDateTime timeStamp2DateTime(long timeStamp){
        LocalDateTime dateTime =LocalDateTime.ofEpochSecond(timeStamp,0, ZoneOffset.ofHours(8));
        return dateTime;
    }

    /**
     * @方法名：localDateTime2Str
     * @描述： localDateTime转换为String
     * @作者： kjz
     * @日期： Created in 2020/9/8 15:16
     */
    public static String localDateTime2Str(LocalDateTime time){
        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String localTime = df.format(time);
        return localTime;
    }

    /**
     * @方法名：time2Date
     * @描述： LocalDateTime 转换为 LocalDate
     * @作者： kjz
     * @日期： Created in 2020/9/8 15:27
     */
    public static LocalDate time2Date(LocalDateTime time){
        return time.toLocalDate();
    }

    /**
     * @方法名：timeStamp2TimeStr
     * @描述： 时间戳转换为【yyyy-MM-dd HH:mm:ss】字符串
     * @作者： kjz
     * @日期： Created in 2020/9/8 15:44
     */
    public static String timeStamp2TimeStr(long seconds) {
        String format = "yyyy-MM-dd HH:mm:ss";
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        return sdf.format(new Date(Long.valueOf(seconds+"000")));
    }

    /**
     * @方法名：timeStamp2DateStr
     * @描述： 时间戳转换为【yyyy-MM-dd】字符串
     * @作者： kjz
     * @日期： Created in 2020/9/8 15:45
     */
    public static String timeStamp2DateStr(long seconds) {
        String format = "yyyy-MM-dd";
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        return sdf.format(new Date(Long.valueOf(seconds+"000")));
    }

    /**
     * @方法名：timeStrStamp2TimeStr
     * @描述： 时间戳字符串转换为【yyyy-MM-dd HH:mm:ss】字符串
     * @作者： kjz
     * @日期： Created in 2020/9/9 14:22
     */
    public static String timeStrStamp2TimeStr(String seconds) {
        String format = "yyyy-MM-dd HH:mm:ss";
        SimpleDateFormat sdf = new SimpleDateFormat(format);
//        System.err.println("seconds="+seconds);
        return sdf.format(new Date(Long.valueOf(seconds+"000")));
    }

    /**
     * @方法名：timeStrStamp2DateStr
     * @描述： 时间戳字符串转换为【yyyy-MM-dd】字符串
     * @作者： kjz
     * @日期： Created in 2020/9/9 14:25
     */
    public static String timeStrStamp2DateStr(String seconds) {
        String format = "yyyy-MM-dd";
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        return sdf.format(new Date(Long.valueOf(seconds+"000")));
    }
}
